 #ifndef CONSTANTS_H
#define CONSTANTS_H

#include <QHash>
#include <QtCore>

//Define constant attributes of messages
const unsigned int cuiHDR_SIZE = 1;
const unsigned int cuiBOT_SIZE = 1;
const unsigned int cuiACK_SIZE = 1;
const unsigned int cuiID_SIZE  = 2;

const unsigned char cucSEN_DELIMITER  = ':';
const unsigned char cucCTRL_DELIMITER = ':';

//ControlCommands
const QString CTRL_UP    = "up";
const QString CTRL_DOWN  = "down";
const QString CTRL_LEFT  = "left";
const QString CTRL_RIGHT = "right";
const QString CTRL_STOP  = "stop";

enum MessageTypes{
    EnMsg_CONFIG   = 0x21,  // !
    EnMsg_SENSOR   = 0x22,  // "
    EnMsg_ACK      = 0x23,  // #
    EnMsg_CONTROLS = 0x24   // $
};
enum Bots{
    EnBOT_ROVER     = 0x21, // !
    EnBOT_COPTER    = 0x22, // "
    EnBOT_PLANE     = 0x23, // #
    EnBOT_SUBMARINE = 0x24, // $
    EnBOT_HUMANOID  = 0x25  // %
};


static QHash<char, QString> BotLookUp;

namespace DictEdit{

    static void InitializeDictionary()
    {
        BotLookUp[EnBOT_ROVER]     = "Rover Bot";
        BotLookUp[EnBOT_COPTER]    = "Aerial Copter";
        BotLookUp[EnBOT_PLANE]     = "Aerial Plane";
        BotLookUp[EnBOT_SUBMARINE] = "Submarine";
        BotLookUp[EnBOT_HUMANOID]  = "Humanoid";
    }
};






#endif // CONSTANTS_H
